package com.shimao.celnet.payment.service;


import com.shimao.celnet.payment.form.ASysPermissionForm;
import com.shimao.celnet.payment.model.ASysPermission;

import java.util.List;


/**
 * 权限service
 * Created by ensure on 2017/11/12.
 */
public interface ASysPermissionService extends IService<ASysPermission> {

    /**
     * 最新的分页查询方法
     * @param formBean
     * @param pageNum
     * @param length
     * @return
     */
    ASysPermissionForm getByPage(ASysPermissionForm formBean, int pageNum, int length);

    /**
     * 取得所有权限列表
     * @return
     */
    List<ASysPermission> getAll();

    /**
     * 权限保存
     * @return
     */
    int save(ASysPermission aSysPermission);

    /**
     * 权限修改
     * @return
     */
    int update(ASysPermission aSysPermission);

    /**
     * 删除保存
     * @return
     */
    int delete(String permissionGuid);

    /**
     * 取得系统菜单
     * @param userGuid
     * @return
     */
    String getMenu(String userGuid);

    /**
     * 取得权限下拉框初始列表
     * @return
     */
    List<ASysPermission> getSelectList();

    /**
     * 取得用户所属权限
     * @param userGuid
     * @return
     */
    List<ASysPermission> getUserPermission(String userGuid);

    /**
     * 查询所有出所有的角色权限（三张表关联：角色-角色权限-权限）
     * @return
     */
    List<ASysPermissionForm> getAllRolesPermission(String userGuid);

    /**
     * 根据角色guid，取得角色权限
     * @param roleGuidList
     * @return
     */
    List<List<ASysPermission>> getRolePermission(List<String> roleGuidList);
}
